"""
【发送表单格式的post请求】，使用requests库，完成登录接口调用，返回“验证码错误”即可
请求地址是：
http://127.0.0.1/index.php?m=Home&c=User&a=do_login&t=0.999687125390627
请求头：Content-Type: application/x-www-form-urlencoded; charset=UTF-8
请求体：username=13800000000&password=123456&verify_code=8888
"""


import requests

class TestLogin:
    def test_login(self):
        url = "http://123.57.228.35/index.php?m=Home&c=User&a=do_login&t=0.014628845604706564"
        data = {
            "username": "15514091712",
            "password": "123456",
            "verify_code": "8888"
        }
        headers={
            "Content-Type": "application/x-www-form-urlencoded"
        }
        """
        验证码接口返回的 PHPSESSID 是验证验证码有效性的关键：
        服务器生成验证码（如 “8888”）时，会将验证码值与 PHPSESSID 绑定存储在服务器的 Session 中。
        登录时提交的 verify_code="8888"，必须与该 PHPSESSID 对应的 Session 中的验证码一致，服务器才会认为验证码有效。
        如果不传递这个 Cookie，登录请求会使用新的 PHPSESSID（或无 SessionID），服务器会认为 “验证码不存在或已过期”，导致登录失败。
        """
        veri_resp=requests.get("http://123.57.228.35/index.php?m=Home&c=User&a=verify&r=0.17382934004161854")
        # print(veri_resp.text)
        # print(veri_resp.request.headers)
        print(veri_resp.cookies)
        cookie = veri_resp.cookies
        resp = requests.post(url, data=data, headers=headers, cookies=cookie)
        print(resp.cookies)

        print(resp.status_code)
        print(resp.text)
        print(resp.json())